package org.softmed.rest.server.core.boot;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

import org.softmed.rest.server.core.restlet.RESTServer;

import com.google.inject.Inject;

public class Startup {

	@Inject
	static BootupProcessor bootupProcessor;

	@Inject
	RESTServer server;

	public void execute() throws Throwable {

		// setup Restlet services according to configuration
		bootupProcessor.bootup();

		// start the server
		server.start();

		// new Thread(new Runnable() {
		//
		// @Override
		// public void run() {
		// JFrame frame = new JFrame();
		// JButton button = new JButton("Close Server");
		// frame.getContentPane().add(button);
		//
		// button.addActionListener(new ActionListener() {
		//
		// @Override
		// public void actionPerformed(ActionEvent e) {
		// System.out.println("SHUTTING DOWN SERVER");
		// try {
		//
		// server.stop();
		//
		// } catch (Exception t) {
		// // TODO Auto-generated catch block
		// t.printStackTrace();
		// }
		//
		// }
		// });
		//
		// frame.pack();
		// frame.setVisible(true);
		// frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//
		// }
		//
		// }).start();

	}

	public RESTServer getServer() {
		return server;
	}

	public void setServer(RESTServer server) {
		this.server = server;
	}

	public static BootupProcessor getBootupProcessor() {
		return bootupProcessor;
	}

	public static void setBootupProcessor(BootupProcessor bp) {
		bootupProcessor = bp;
	}

}
